Typically, regarding codes having a high error correction capability (and high code rate), a decoding process thereof becomes complicated. Moreover, the number of errors to be generated varies, so that there is a demand to achieve both exertion of a high error correction capability in a case of a large number of errors and completion of correction with a simple decoding process in a case of a small number of errors. In response to this demand, there are known a technology of performing a multiple error correction encoding and a technology of adaptively switching a decoding method.
In the technology of performing a multiple error correction encoding and the technology of adaptively switching a decoding method, typically, there are problems such as that a process becomes complicated or a circuit scale increases.